package org.zs.miracle.service.auth;

import jakarta.servlet.http.HttpServletRequest;
import java.util.List;
import org.zs.miracle.entity.system.ResourcesEntity;
import org.zs.miracle.service.auth.model.dto.AuthenticationUserDetailVO;
import org.zs.miracle.service.auth.model.dto.LoginInputDTO;
import org.zs.miracle.service.auth.model.dto.LoginOutputDTO;
import org.zs.miracle.service.resources.model.vo.ResourcesTreeVo;

public interface IAuthService {
  
  /**
   * 获取用户权限列表
   *
   * @param userId 用户id
   * @return 用户权限列表
   */
  List<ResourcesEntity> queryPermissionsList(Long userId);
  
  List<ResourcesTreeVo> queryPermissionsTree();
  
  String captcha();
  
  LoginOutputDTO login(LoginInputDTO inputDTO, HttpServletRequest request);
  
  void logout();
  
  AuthenticationUserDetailVO authenticationUserDetail();
}